﻿package plugin.npcDialog.ui.panels.deliver
{
    import __AS3__.vec.*;
    import com.sh.game.util.*;
    import flash.events.*;
    import flash.text.*;
    import manager.*;
    import morn.core.components.*;
    import plugin.bagN.*;
    import plugin.newvip.model.*;
    import pluginfw.*;
    import uiresource.npcdialogs.*;
    import view.uilt.*;

    public class CSPanel extends CsongUI implements INpcDialogContent
    {
        private var mLinkBtnList:Vector.<LinkButton>;
        private var mCurHeight:int = 0;
        private var _data:Object;

        public function CSPanel()
        {
            this.mLinkBtnList = new Vector.<LinkButton>;
            return;
        }// end function

        public function show(param1:Object, param2:Object) : void
        {
            this._data = param1;
            var _loc_3:* = this.deliverCfg[param1.npcid];
            var _loc_4:Array = [];
            var _loc_5:Array = [];
            var _loc_6:Array = [];
            var _loc_7:int = 0;
            var _loc_8:* = _loc_3.length;
            _loc_7 = 0;
            while (_loc_7 < _loc_8)
            {
                
                if (_loc_3[_loc_7].safe == 0)
                {
                    _loc_4.push(_loc_3[_loc_7]);
                }
                else if (_loc_3[_loc_7].safe == 1)
                {
                    _loc_5.push(_loc_3[_loc_7]);
                }
                else
                {
                    _loc_6.push(_loc_3[_loc_7]);
                }
                _loc_7++;
            }
            this.mCurHeight = 108;
            var _loc_9:* = new TextFormat();
            new TextFormat().bold = true;
            _loc_9.font = "宋体";
            if (_loc_4.length > 0)
            {
                this.createLinkBtn(_loc_4);
            }
            this.mCurHeight = 206;
            if (_loc_6.length)
            {
                this.createLinkBtn(_loc_6);
            }
            this.mCurHeight = 352;
            if (_loc_5.length > 0)
            {
                this.createLinkBtn(_loc_5);
            }
            return;
        }// end function

        private function createLinkBtn(param1:Array) : void
        {
            var _loc_4:Object = null;
            var _loc_5:uint = 0;
            var _loc_6:LinkButton = null;
            var _loc_7:String = null;
            var _loc_8:Array = null;
            var _loc_9:int = 0;
            var _loc_10:int = 0;
            var _loc_2:int = 0;
            var _loc_3:* = param1.length;
            _loc_2 = 0;
            while (_loc_2 < _loc_3)
            {
                
                _loc_4 = param1[_loc_2];
                _loc_5 = MColor.New61;
                if (int(_loc_4.vip) > 0 && int(_loc_4.vip) > VipCheck.checkVipLevel())
                {
                    _loc_5 = MColor.New54;
                }
                if (ItemUilt.checkUserLevel(_loc_4.level) > 0)
                {
                    _loc_7 = _loc_4.level;
                    _loc_8 = _loc_7.split("#");
                    _loc_9 = UserData.getUserData("level");
                    _loc_10 = UserData.getUserData("rein");
                    if (_loc_8[0])
                    {
                        if (_loc_9 < int(_loc_8[0] % 1000))
                        {
                            _loc_5 = MColor.New54;
                        }
                        if (_loc_10 < int(_loc_8[0] / 1000))
                        {
                            _loc_5 = MColor.New54;
                        }
                        if (int(_loc_8[1]) > 0 && _loc_9 > int(_loc_8[1] % 1000))
                        {
                            _loc_5 = MColor.New54;
                        }
                        if (int(_loc_8[1]) > 0 && _loc_10 > int(_loc_8[1] / 1000))
                        {
                            _loc_5 = MColor.New54;
                        }
                    }
                }
                else if (ItemUilt.checkUserLevelRein(0, int(_loc_4.rein)) == false)
                {
                    _loc_5 = MColor.New54;
                }
                _loc_6 = new LinkButton();
                if (param1[_loc_2].open == 1)
                {
                    _loc_6.labelColors = StringUtil.substitute("{0},{1},{2}", _loc_5, MColor.New6, MColor.New6);
                }
                else if (param1[_loc_2].safe == 0)
                {
                    _loc_6.labelColors = StringUtil.substitute("{0},{1},{2}", _loc_5, MColor.New6, MColor.New6);
                }
                else if (param1[_loc_2].safe == 1)
                {
                    _loc_6.labelColors = StringUtil.substitute("{0},{1},{2}", _loc_5, MColor.New6, MColor.New6);
                }
                else
                {
                    _loc_6.labelColors = StringUtil.substitute("{0},{1},{2}", _loc_5, MColor.New6, MColor.New6);
                }
                _loc_6.labelStroke = "0x0";
                _loc_6.dataSource = param1[_loc_2];
                _loc_6.label = String(param1[_loc_2].nameshow);
                _loc_6.labelFont = "SimSun";
                _loc_6.addEventListener(MouseEvent.CLICK, this.linkHandler);
                _loc_6.x = 32 + 100 * int(_loc_2 % 3);
                _loc_6.y = this.mCurHeight + 22 * int(_loc_2 / 3);
                cspanel.addChild(_loc_6);
                this.mLinkBtnList.push(_loc_6);
                _loc_2++;
            }
            return;
        }// end function

        private function linkHandler(event:MouseEvent) : void
        {
            var _loc_3:Object = null;
            var _loc_4:String = null;
            var _loc_5:Array = null;
            var _loc_6:int = 0;
            var _loc_7:int = 0;
            var _loc_2:* = event.currentTarget as LinkButton;
            if (_loc_2)
            {
                _loc_3 = _loc_2.dataSource;
                if (int(_loc_3.vip) > 0 && int(_loc_3.vip) > VipCheck.checkVipLevel())
                {
                    WarningManager.show(48);
                    return;
                }
                if (ItemUilt.checkUserLevel(_loc_3.level) > 0)
                {
                    _loc_4 = _loc_3.level;
                    _loc_5 = _loc_4.split("#");
                    _loc_6 = UserData.getUserData("level");
                    _loc_7 = UserData.getUserData("rein");
                    if (_loc_5[0])
                    {
                        if (_loc_6 < int(_loc_5[0] % 1000))
                        {
                            WarningManager.show(32, [int(_loc_5[0] % 1000)]);
                            return;
                        }
                        if (_loc_7 < int(_loc_5[0] / 1000))
                        {
                            WarningManager.show(33, [int(_loc_5[0] / 1000)]);
                            return;
                        }
                        if (int(_loc_5[1]) > 0 && _loc_6 > int(_loc_5[1] % 1000))
                        {
                            WarningManager.show(121);
                            return;
                        }
                        if (int(_loc_5[1]) > 0 && _loc_7 > int(_loc_5[1] / 1000))
                        {
                            WarningManager.show(122);
                            return;
                        }
                    }
                }
                else if (ItemUilt.checkUserLevelRein(0, int(_loc_3.rein)) == false)
                {
                    WarningManager.show(33, [int(_loc_3.rein)]);
                    return;
                }
                if (this._data.pay == 1)
                {
                    PluginManager.instance.sendToServer("bag", CMDBag.ItemDeliver, _loc_3.id);
                }
                else
                {
                    PluginManager.instance.sendToServer("bag", CMDBag.NPCDeliver, _loc_3.id);
                }
                PluginManager.instance.closePlugin("npcdialog");
            }
            return;
        }// end function

        private function clear() : void
        {
            var _loc_1:LinkButton = null;
            while (this.mLinkBtnList.length > 0)
            {
                
                _loc_1 = this.mLinkBtnList.shift();
                if (_loc_1.parent)
                {
                    _loc_1.parent.removeChild(_loc_1);
                }
                _loc_1.removeEventListener(MouseEvent.CLICK, this.linkHandler);
                _loc_1 = null;
            }
            return;
        }// end function

        public function close() : void
        {
            this.clear();
            if (this.parent)
            {
                this.parent.removeChild(this);
            }
            return;
        }// end function

        private function get deliverCfg() : Object
        {
            return ConfigDictionary.data.deliver;
        }// end function

        private function get mapList() : Object
        {
            return ConfigDictionary.data.maplist;
        }// end function

        public function update(param1:Object, param2:int = 0) : void
        {
            return;
        }// end function

    }
}
